import baostock as bs
import pandas as pd
"""
time	交易所行情日期	格式：[YYYY-MM-DD,YYYY-MM-DD]
stockCode	证券代码	格式：sh.600000。sh：上海，sz：深圳
frequency： 数据类型，默认为d，日k线；d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据，不区分大小写；指数没有分钟线数据；周线每周最后一个交易日才可以获取，月线第月最后一个交易日才可以获取。


stockCodeItems  dict 所需的交易数据字段
open	今开盘价格	精度：小数点后4位；单位：人民币元
high	最高价	精度：小数点后4位；单位：人民币元
low	最低价	精度：小数点后4位；单位：人民币元
close	今收盘价	精度：小数点后4位；单位：人民币元
preclose	昨日收盘价	精度：小数点后4位；单位：人民币元
volume	成交数量	单位：股
amount	成交金额	精度：小数点后4位；单位：人民币元
pctChg	涨跌幅	精度：小数点后6位

"""





class stockDATA:
    def __init__(self,time,stockCode,frequenct,**kwargs):

        print('回测时间区间：',time)
        print('股票代码:',stockCode)
        print('数据单元长度',frequenct)
        print('其他参数',kwargs)
        self.data_list=[]
        self.lg = bs.login()
        self.data = bs.query_history_k_data_plus(stockCode,
                                          kwargs['stockCodeItems'],
                                          start_date=time[0], end_date=time[1], frequency=frequenct)
        print('query_history_k_data_plus respond error_code:' +self.data.error_code)
        print('query_history_k_data_plus respond  error_msg:' + self.data.error_msg)

        while (self.data.error_code == '0') & self.data.next():
            # 获取一条记录，将记录合并在一起
            self.data_list.append(self.data.get_row_data())

    def getData(self):
        """返回list[]"""
        return self.data_list
